import openai
import os


openai.api_key = os.environ["OPENAI_API_KEY_ZHIHU"]
openai.api_base = os.environ["OPENAI_API_BASE_ZHIHU"]
model = "gpt-3.5-turbo"
#Demo1  信息抽取
messages = [{"role":"user","content":"""帮我寄到北京市朝阳区亮马桥外交办公大楼，写王卓然收就行，电话是13888888888。
请提取上面文字中的收件人(name)，地址(address)，电话(phone)。并以JSON格式输出,key为英文，value为中文。直接输出结果即可，不需要其它内容。
"""}]

response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0,max_tokens=64,stop="\n")
print(response.choices[0].message["content"])

#Demo2  分类
# messages = [{"role":"user","content":"""根据给定的新闻标题，判断该新闻是属于“政治”，”经济“，”科技“，”娱乐”中的哪一类。直接
# 给出答案。不用评论，不用分析。
# ChatGPT可以写电影剧本啦，未来好莱坞大片或将用上该技术"""}]
#
# response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0,max_tokens=64,stop="\n")
# print(response.choices[0].message["content"])

#Demo3 聚类
# messages = [{"role":"user","content":"""判断以下句子中是否是同一个意思的聚合在一起？
# 月薪多少
# 一个月能赚几个钱
# 吃饭多少钱
# 月薪不够花怎么办
# 每个月赚的都没花的多咋整
# 月入水平
# 输出个标识的数组，每类一组。直接给答案，不用分析，不用评论。"""}]
#
# response = openai.ChatCompletion.create(model="gpt-4",messages=messages,temperature=0,max_tokens=255,stop="\n")
# print(response.choices[0].message["content"])

#Demo4-1  一次性返回
# prompt = """今天我很"""
# response = openai.Completion.create(model="gpt-3.5-turbo-instruct",prompt=prompt,temperature=0,max_tokens=128,stop="\n",stream=False)
# print(response.choices[0].text)

#Demo4-2  流式返回
# prompt = """今天我很"""
# response = openai.Completion.create(model="gpt-3.5-turbo-instruct",prompt=prompt,temperature=0,max_tokens=64,stop="\n",stream=True)
# for chunk in response:
#     if chunk.choices[0].text:
#         print(chunk.choices[0].text, end='')

#Demo5 提供一此上下文
#非流式
# messages = [{
#     "role": "system","content":"你是AI助手小瓜，是AGI课程的助教。这门课每周二，周四上课。"},
#     {"role":"user","content":"请问周末上课吗？"}
# ]
# response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0,max_tokens=64,stop="\n",stream=False)
# print(response.choices[0].message["content"])